package com.bdth.bdthiss.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.enums.IdType;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * <p>
 * 合同信息
 * </p>
 *
 * @author LGP
 * @since 2019-09-04
 */
@TableName("bdth_contract")
public class Contract implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 合同编号
     */
    private String code;
    /**
     * 合同名称
     */
    private String name;
    /**
     * 合同类型
     */
    private String type;
    /**
     * 行业分类
     */
    private String introtype;
    /**
     * 需方信息
     */
    private Integer customerid;
    /**
     * 需方名称
     */
    private String customername;
    /**
     * 销售人员ID
     */
    private Integer signmanid;
    /**
     * 销售人员
     */
    private String signman;
    /**
     * 需方联系人
     */
    private String customerman;
    /**
     * 需方电话
     */
    private String customerphone;
    /**
     * 渠道类型
     */
    private String channeltype;
    /**
     * 签订人电话
     */
    private String signphone;
    /**
     * 存放地方
     */
    private String address;
    /**
     * 副本
     */
    private String files;
    /**
     * 签订日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date crtime;
    /**
     * 服务时长
     */
    @TableField(value = "service_time")
    private String serviceTime;
    /**
     * 到期时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @TableField(value = "service_date")
    private Date serviceDate;
    /**
     * 合同状态
     */
    private String status;
    /**
     * 付款方式
     */
    private String paytype;
    /**
     * 首付款
     */
    @TableField(value = "payment_frist")
    private BigDecimal paymentFrist;
    /**
     * 首付比例
     */
    @TableField(value = "payment_scale_frist")
    private String paymentScaleFrist;
    /**
     * 首付说明
     */
    @TableField(value = "payment_exp_frist")
    private String paymentExpFrist;
    /**
     * 发货款
     */
    @TableField(value = "payment_second")
    private BigDecimal paymentSecond;
    /**
     * 发货比例
     */
    @TableField(value = "payment_scale_second")
    private String paymentScaleSecond;
    /**
     * 发货说明
     */
    @TableField(value = "payment_exp_second")
    private String paymentExpSecond;
    /**
     * 验收款
     */
    @TableField(value = "payment_third")
    private BigDecimal paymentThird;
    /**
     * 验收比例
     */
    @TableField(value = "payment_scale_third")
    private String paymentScaleThird;
    /**
     * 验收说明
     */
    @TableField(value = "payment_exp_third")
    private String paymentExpThird;
    /**
     * 质保款
     */
    @TableField(value = "payment_last")
    private BigDecimal paymentLast;
    /**
     * 质保比例
     */
    @TableField(value = "payment_scale_last")
    private String paymentScaleLast;
    /**
     * 质保说明
     */
    @TableField(value = "payment_exp_last")
    private String paymentExpLast;
    /**
     * 产品详情
     */
    private String details;
    /**
     * 总金额
     */
    private BigDecimal total;
    /**
     * 应收款
     */
    private BigDecimal receivables;
    /**
     * 已收款
     */
    private BigDecimal payment;
    /**
     * 最后付款时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date lastpaytime;
    /**
     * 未收款
     */
    private BigDecimal lastpay;
    /**
     * 违约金比例
     */
    @TableField(value = "falsify_scale")
    private String falsifyScale;
    /**
     * 已开发票金额
     */
    private BigDecimal totalbill;
    /**
     * 是否删除
     */
    private Integer del;

    private Integer file;
    private Integer sendstatus;
    private String sendaddress;
    private String cardtype;

    private Integer pageht;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getIntrotype() {
        return introtype;
    }

    public void setIntrotype(String introtype) {
        this.introtype = introtype;
    }

    public Integer getCustomerid() {
        return customerid;
    }

    public void setCustomerid(Integer customerid) {
        this.customerid = customerid;
    }

    public String getCustomername() {
        return customername;
    }

    public void setCustomername(String customername) {
        this.customername = customername;
    }

    public Integer getSignmanid() {
        return signmanid;
    }

    public void setSignmanid(Integer signmanid) {
        this.signmanid = signmanid;
    }

    public String getSignman() {
        return signman;
    }

    public void setSignman(String signman) {
        this.signman = signman;
    }

    public String getCustomerman() {
        return customerman;
    }

    public void setCustomerman(String customerman) {
        this.customerman = customerman;
    }

    public String getCustomerphone() {
        return customerphone;
    }

    public void setCustomerphone(String customerphone) {
        this.customerphone = customerphone;
    }

    public String getChanneltype() {
        return channeltype;
    }

    public void setChanneltype(String channeltype) {
        this.channeltype = channeltype;
    }

    public String getSignphone() {
        return signphone;
    }

    public void setSignphone(String signphone) {
        this.signphone = signphone;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getFiles() {
        return files;
    }

    public void setFiles(String files) {
        this.files = files;
    }

    public Date getCrtime() {
        return crtime;
    }

    public void setCrtime(Date crtime) {
        this.crtime = crtime;
    }

    public String getServiceTime() {
        return serviceTime;
    }

    public void setServiceTime(String serviceTime) {
        this.serviceTime = serviceTime;
    }

    public Date getServiceDate() {
        return serviceDate;
    }

    public void setServiceDate(Date serviceDate) {
        this.serviceDate = serviceDate;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getPaytype() {
        return paytype;
    }

    public void setPaytype(String paytype) {
        this.paytype = paytype;
    }

    public BigDecimal getPaymentFrist() {
        return paymentFrist;
    }

    public void setPaymentFrist(BigDecimal paymentFrist) {
        this.paymentFrist = paymentFrist;
    }

    public String getPaymentScaleFrist() {
        return paymentScaleFrist;
    }

    public void setPaymentScaleFrist(String paymentScaleFrist) {
        this.paymentScaleFrist = paymentScaleFrist;
    }

    public String getPaymentExpFrist() {
        return paymentExpFrist;
    }

    public void setPaymentExpFrist(String paymentExpFrist) {
        this.paymentExpFrist = paymentExpFrist;
    }

    public BigDecimal getPaymentSecond() {
        return paymentSecond;
    }

    public void setPaymentSecond(BigDecimal paymentSecond) {
        this.paymentSecond = paymentSecond;
    }

    public String getPaymentScaleSecond() {
        return paymentScaleSecond;
    }

    public void setPaymentScaleSecond(String paymentScaleSecond) {
        this.paymentScaleSecond = paymentScaleSecond;
    }

    public String getPaymentExpSecond() {
        return paymentExpSecond;
    }

    public void setPaymentExpSecond(String paymentExpSecond) {
        this.paymentExpSecond = paymentExpSecond;
    }

    public BigDecimal getPaymentThird() {
        return paymentThird;
    }

    public void setPaymentThird(BigDecimal paymentThird) {
        this.paymentThird = paymentThird;
    }

    public String getPaymentScaleThird() {
        return paymentScaleThird;
    }

    public void setPaymentScaleThird(String paymentScaleThird) {
        this.paymentScaleThird = paymentScaleThird;
    }

    public String getPaymentExpThird() {
        return paymentExpThird;
    }

    public void setPaymentExpThird(String paymentExpThird) {
        this.paymentExpThird = paymentExpThird;
    }

    public BigDecimal getPaymentLast() {
        return paymentLast;
    }

    public void setPaymentLast(BigDecimal paymentLast) {
        this.paymentLast = paymentLast;
    }

    public String getPaymentScaleLast() {
        return paymentScaleLast;
    }

    public void setPaymentScaleLast(String paymentScaleLast) {
        this.paymentScaleLast = paymentScaleLast;
    }

    public String getPaymentExpLast() {
        return paymentExpLast;
    }

    public void setPaymentExpLast(String paymentExpLast) {
        this.paymentExpLast = paymentExpLast;
    }

    public String getDetails() {
        return details;
    }

    public void setDetails(String details) {
        this.details = details;
    }

    public BigDecimal getTotal() {
        return total;
    }

    public void setTotal(BigDecimal total) {
        this.total = total;
    }

    public BigDecimal getReceivables() {
        return receivables;
    }

    public void setReceivables(BigDecimal receivables) {
        this.receivables = receivables;
    }

    public BigDecimal getPayment() {
        return payment;
    }

    public void setPayment(BigDecimal payment) {
        this.payment = payment;
    }

    public Date getLastpaytime() {
        return lastpaytime;
    }

    public void setLastpaytime(Date lastpaytime) {
        this.lastpaytime = lastpaytime;
    }

    public BigDecimal getLastpay() {
        return lastpay;
    }

    public void setLastpay(BigDecimal lastpay) {
        this.lastpay = lastpay;
    }

    public String getFalsifyScale() {
        return falsifyScale;
    }

    public void setFalsifyScale(String falsifyScale) {
        this.falsifyScale = falsifyScale;
    }

    public BigDecimal getTotalbill() {
        return totalbill;
    }

    public void setTotalbill(BigDecimal totalbill) {
        this.totalbill = totalbill;
    }

    public Integer getDel() {
        return del;
    }

    public void setDel(Integer del) {
        this.del = del;
    }

    public Integer getFile() {
        return file;
    }

    public void setFile(Integer file) {
        this.file = file;
    }

    public Integer getSendstatus() {
        return sendstatus;
    }

    public void setSendstatus(Integer sendstatus) {
        this.sendstatus = sendstatus;
    }

    public String getSendaddress() {
        return sendaddress;
    }

    public void setSendaddress(String sendaddress) {
        this.sendaddress = sendaddress;
    }

    public String getCardtype() {
        return cardtype;
    }

    public void setCardtype(String cardtype) {
        this.cardtype = cardtype;
    }

    public Integer getPageht() {
        return pageht;
    }

    public void setPageht(Integer pageht) {
        this.pageht = pageht;
    }

    @Override
    public String toString() {
        return "Contract{" +
        ", id=" + id +
        ", code=" + code +
        ", name=" + name +
        ", type=" + type +
        ", introtype=" + introtype +
        ", customerid=" + customerid +
        ", customername=" + customername +
        ", signmanid=" + signmanid +
        ", signman=" + signman +
        ", customerman=" + customerman +
        ", customerphone=" + customerphone +
        ", channeltype=" + channeltype +
        ", signphone=" + signphone +
        ", address=" + address +
        ", files=" + files +
        ", crtime=" + crtime +
        ", serviceTime=" + serviceTime +
        ", serviceDate=" + serviceDate +
        ", status=" + status +
        ", paytype=" + paytype +
        ", paymentFrist=" + paymentFrist +
        ", paymentScaleFrist=" + paymentScaleFrist +
        ", paymentExpFrist=" + paymentExpFrist +
        ", paymentSecond=" + paymentSecond +
        ", paymentScaleSecond=" + paymentScaleSecond +
        ", paymentExpSecond=" + paymentExpSecond +
        ", paymentThird=" + paymentThird +
        ", paymentScaleThird=" + paymentScaleThird +
        ", paymentExpThird=" + paymentExpThird +
        ", paymentLast=" + paymentLast +
        ", paymentScaleLast=" + paymentScaleLast +
        ", paymentExpLast=" + paymentExpLast +
        ", details=" + details +
        ", total=" + total +
        ", receivables=" + receivables +
        ", payment=" + payment +
        ", lastpaytime=" + lastpaytime +
        ", lastpay=" + lastpay +
        ", falsifyScale=" + falsifyScale +
        ", totalbill=" + totalbill +
        ", del=" + del +
        ", file=" + file +
        ", sendstatus=" + sendstatus +
        ", sendaddress=" + sendaddress +
        ", cardtype=" + cardtype +
        ", pageht=" + pageht +
        "}";
    }
}
